home *** CD-ROM | disk | FTP | other *** search
/ Just Call Me Internet / Just Call Me Internet.iso / prog / atari / m2 / cat3src / cat / msglist.d < prev    next >
Text File  |  1997-10-26  |  8KB  |  191 lines

  1. DEFINITION MODULE msgList;
  2.  
  3. (*==============================================================*
  4.  * Modul:               CAT-Anzeigemodul fr Stichwortlisten    *
  5.  * Autor:               Dirk Steins                             *
  6.  * erstellt am:         25.07.1992                              *
  7.  * letzte Žnderung am:  25.07.1992                              *
  8.  * Version:             0.1                                     *
  9.  * Interne Version:     V#0001                                  *
  10.  *==============================================================*
  11.  
  12.  *----------------------------------------------------------------------------
  13.  * Datum    Vers. Autor  Žnderung (Arbeitsbericht)
  14.  *----------------------------------------------------------------------------
  15.  * 25.07.92 0.1   DS     Erste Definition erstellt
  16.  *----------------------------------------------------------------------------
  17.  *)
  18.  
  19. FROM SYSTEM IMPORT ADDRESS;
  20.  
  21. IMPORT data;
  22. IMPORT grin;
  23.  
  24. (*$H+*)
  25. TYPE getNumberProc = PROCEDURE ((* dataHandle *) data.OneGroupHandle):CARDINAL;
  26.  
  27. PROCEDURE listOpen (gruppe, which : CARDINAL; grinWindow : INTEGER; 
  28.                     mode: grin.openMode);
  29. (* Ein Stichwortlistenfenster wird ge”ffnet *)
  30.  
  31. PROCEDURE listOpenWithProc (gruppe : CARDINAL; whichNr : getNumberProc; 
  32.                             grinWdw : INTEGER; mode: grin.openMode);
  33. (* Ein Stichwortlistenfenster wird ge”ffnet,
  34.  * die Nummer wird ber eine Prozedur ermittelt
  35.  *)
  36.  
  37. PROCEDURE listClose (wdw : INTEGER);
  38. (* Ein Stichwortlistenfenster wird geschlossen *)
  39.  
  40. PROCEDURE listSavePos();
  41. (* Sichert die Positionen der Stichwortlistenfenster *)
  42.  
  43. PROCEDURE listRestorePos();
  44. (* Restauriert die Positionen der Stichwortlistenfenster *)
  45.  
  46. PROCEDURE listCloseAll ();
  47. (* Alle Sichwortlistenfenster werden geschlossen *)
  48.  
  49. PROCEDURE listFreeAll();
  50. (* Schliežt alle Stichwortlistenfenster und gibt auch alle Handles wieder 
  51.  * wieder frei 
  52.  *)
  53.  
  54. PROCEDURE listWindowTop (wdw : INTEGER) : BOOLEAN;
  55. (* Ist ein Stichwortlistenfenster oben? *)
  56.  
  57. PROCEDURE listSetFont (wdw: INTEGER; font, fontSize : INTEGER);
  58. (* Setzt den Font fr das Stichwortlistenfenster *)
  59.  
  60. (* Die folgenden Funktionen sind nur fr die Interaktion 
  61.  * mit der Anzeige relevant und werden ber ein handle angesprochen,
  62.  * welches der Anzeige mit bergeben wird. Dadurch werden Probleme 
  63.  * durch doppelte WdwHandles vermieden, die auftreten k”nnten.
  64.  *)
  65.  
  66. PROCEDURE listUnlockWdw (hdl : LONGCARD);
  67. (* Muž von grin aufgerufen werden, wenn die Gruppe gewechselt wurde
  68.  * oder das Fenster geschlossen wurde. Geht leider nicht anders :-(
  69.  *)
  70.  
  71. PROCEDURE listCloseByHandle (hdl : LONGCARD);
  72. (* Ein Stichwortlistenfenster wird ber das assoziierte Handle 
  73.  * geschlossen, wird von grin aufgerufen, wenn ein Fenster mit
  74.  * geschlossen wird, an das eine Stichwortliste gelinkt ist
  75.  *)
  76.  
  77. PROCEDURE listChangeGroup (hdl: LONGCARD; grinWdw: INTEGER; mess, newGroup: CARDINAL;
  78.                            mode: grin.openMode): BOOLEAN;
  79. (* Wechselt die dargestellte Gruppe in der durch wdw spezifizierten 
  80.  * Liste und dem Fenster dazu. Ruft selber listUnlockWdw auf, muž 
  81.  * also nicht vorher aufgerufen werden.
  82.  * Gibt zurck, ob die Gruppe gewechselt wurde.
  83.  *)
  84.  
  85. PROCEDURE listRemoveTree (hdl: LONGCARD; grinWdw: INTEGER; 
  86.                           msgNum : CARDINAL; setReadFlag: BOOLEAN);
  87. (* Entfernt den Baum mit der Nachricht msgNum aus der Liste im Fenster 
  88.  * wdw, falls das grinWdw bereinstimmt. Wenn setReadFlag TRUE ist,
  89.  * dann wird auch noch fr alle Nachrichten im Baum das Gelesen-Flag 
  90.  * gesetzt.
  91.  *)
  92.  
  93. PROCEDURE listChangeFlags (hdl: LONGCARD; grinWdw: INTEGER; 
  94.                            msgNum: CARDINAL; newBits: BITSET);
  95. (* grin teilt der Stichwortliste mit, daž sich bei einer Nachricht
  96.  * die Flags ge„ndert haben 
  97.  *)
  98.  
  99. PROCEDURE listSelectAll(wdw : INTEGER; withRedraw: BOOLEAN);
  100. (* Alle Nachrichten in dem Fenster werden selektiert *)
  101.  
  102. PROCEDURE listSelectNew(wdw : INTEGER);
  103. (* Alle neuen Nachrichten in dem Fenster werden selektiert *)
  104.  
  105. PROCEDURE listSaveAs (wdw: INTEGER);
  106. (* Speichert die selektierten Nachrichten in einer Datei *)
  107.  
  108. PROCEDURE listCopy(wdw : INTEGER);
  109. (* Alle selektierten Nachrichten werden exportiert*)
  110.  
  111. PROCEDURE listSomethingSelected (wdw: INTEGER): BOOLEAN;
  112. (* Gibt zurck, ob in der Stichwortliste Nachrichten markiert 
  113.  * sind
  114.  *)
  115.  
  116. PROCEDURE listSetFlags(wdw : INTEGER; setBits, clearBits : BITSET);
  117. (* Fr alle selektierten Nachrichten 
  118.  * ein paar Flags setzen oder l”schen 
  119.  *)
  120.  
  121. PROCEDURE listSearch (wdw: INTEGER);
  122. (* Nachrichten werden ber die Suchfunktion selektiert 
  123.  *)
  124.  
  125. PROCEDURE CheckListLine (REF listline : ARRAY OF CHAR): BOOLEAN; 
  126. (* Testet, ob die bergebene Zeile fr die Stichwortliste in Ordnung ist *)
  127.  
  128.   (* Das Format einer Zeile besteht aus einzelnen Krzeln 
  129.    * fr einen Eintrag und darauffolgend in Klammern die Weite dieses Eintrages.
  130.    * Beispiel: D(12),I(10),U(30),W(30),F(2)
  131.    * Erlaubte Zeilenelemente:
  132.    * D: Datum. Das Datum ist maximal 12 Zeichen lang und hat folgende Form:
  133.    *           Mo, 16.11.92
  134.    *    Optional kann man auch einen Formatstring angeben, der folgende Elemente
  135.    *    enthalten darf:
  136.    *     D: Tagesziffer  (d: wird gel”scht, wenn nicht auffllbar)
  137.    *     Y: Jahresziffer (y: wird gel”scht, wenn nicht auffllbar)
  138.    *     M: Monatsziffer (m: wird gel”scht, wenn nicht auffllbar)
  139.    *     G: Monatsbuchstabe Deutsch
  140.    *     F: Monatsbuchstabe Fr„nz”sisch
  141.    *     E: Monatsbuchstabe English
  142.    *     #E (Hinter Ziffern): englische Zahlfortsetzung (1st, 2nd, 3rd, 4th...)
  143.    * T: Zeit. Default-Format fr die Zeit ist HH:SS, also 06:13.
  144.    *    Optional kann man auch einen Formatstring angeben, der folgendes 
  145.    *    enthalten darf:
  146.    *
  147.    *   HH: Stundenzahl ("hh" l”scht fhrende Null)
  148.    *   MM: Minutenzahl ("mm" l”scht fhrende Null)
  149.    *   SS: Sekundenzahl ("ss" l”scht fhrende Null) 
  150.    *
  151.    *   #E: AM/PM-Notierung (English) ("e" schreibt "am" bzw. "pm")
  152.    *
  153.    *   Beispiel: Aus 'hh Uhr mm' wird '13 Uhr 5'
  154.    *   Die Angabe von Sekunden in einem Formatstring ist allerdings unsinnig,
  155.    *   da die Zeitangaben zu Mails keine Sekunden enthalten.
  156.    * W: Wochentag. Auch hier kann man einen Formatstring angeben, der die Sprache
  157.    *    spezifiziert, in der der Wochentag ausgegeben wird.
  158.    *
  159.    *     G: Tagesbuchstabe Deutsch
  160.    *     F: Tagesbuchstabe Fr„nz”sisch
  161.    *     E: Tagesbuchstabe English
  162.    *
  163.    *    Es muž fr die gesamte gewnschte L„nge ein Formatbuchstabe angegeben
  164.    *    werden.
  165.    *    Wenn das erste Zeichen in der Maske ein # ist, dann wird die  
  166.    *    Maske komplett mit dem zweiten Zeichen der Maske gefllt. 
  167.    *    Beispiel: Aus #G wird intern GGGGGGGGGGGGGG
  168.    * 
  169.    * I: Message-Id. Im Moment ist diese maximal 10 Zeichen lang, aber ab Maus 9.0
  170.    *                k”nnen Ids wesentlich l„nger werden.
  171.    * R: Reference-Id: Bei Kommentaren oder Antworten die Id der Referenznachricht.
  172.    * U: Username 
  173.    * A: Realname (wird ersetzt durch Username, falls nicht vorhanden)
  174.    * W: Stichwort. Vor MAUS 9 maximal 30 Zeichen.
  175.    * F: Flags. Die Flags der Nachrichten, die man in CAT setzen kann. 
  176.    *           Reihenfolge wie in der Messageanzeige, also LFITDKB12
  177.    * S: Status. Nur fr pers”nliche Nachrichten, andernfalls wird es ignoriert.
  178.    * C: Kommentare: Anzahl der Kommentare auf die Nachricht, nicht fr pers”nliche Nachrichten.
  179.    * #: interne Nummer der Message. Maximal 5 Stellen.
  180.    *)
  181.  
  182. PROCEDURE SetListLine (REF listline : ARRAY OF CHAR; private : BOOLEAN);
  183. (* Setzt die Stichwortlistenzeile fr die private oder andere Gruppen
  184.  * Wenn die Zeile fehlerhaft ist, wird die vorhandene Zeile nicht
  185.  * ver„ndert.
  186.  *)
  187.  
  188. PROCEDURE InitMsgList ();
  189. (* Initialisiert die Messageliste *)
  190.  
  191. END msgList.